export default function mapModule(context: any, killFiles: string[]) {
  // 获取所有模块
  const modules = context
    .keys()
    .reduce((acc: Record<string, any>, key: string) => {
      // 过滤掉当前文件（避免循环引用）
      if (killFiles.includes(key)) return acc

      // 获取文件名（不含扩展名）
      const name = key
        .replace(/^\.\//, '') // 移除开头的 ./
        .replace(/\.(ts|tsx)$/, '') // 移除文件扩展名
        .replace(/\//g, '.') // 将路径转换为点分隔符（可选）

      // 获取模块导出
      const moduleExports = context(key)

      // 优先使用默认导出，没有则使用完整导出
      acc = {
        ...acc,
        ...moduleExports,
      }
      if (moduleExports.default) {
        acc[name] = moduleExports.default
      }
      return acc
    }, {})
  return modules
}
